/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package BUS;

import DAO.DonhangDAO;
import POJO.Donhang;
import java.util.List;

/**
 *
 * @author nhlvu07db373
 */
public class DonhangBUS {
    private DonhangDAO dhDAO;

    /**
     *Rút trích danh sách tất cả đơn hàng
     *
     */
    public List dsDonhangAll() {
        return dhDAO.dsDonhangAll();
    }
    /**
     * 
     * @param maTinhTrang 1:Mới đặt hàng 2:Hủy bởi quản trị 3:Xác nhận 4: Thanh toán 5:Hàng được chuyển
     * @return 
     */
     public List dsDonhangFi(int maTinhTrang) {
        return dhDAO.dsDonhangFi(maTinhTrang);
    }
     public boolean adminhuyDonHang(String maDH){
         Donhang dh=dhDAO.layDonhang(maDH);
         dh.setMaTinhTrang(2);
         dhDAO.luuDonhang(dh);
         return true;
     }
     public boolean adminchapnhanDonHang(String maDH){
         Donhang dh=dhDAO.layDonhang(maDH);
         dh.setMaTinhTrang(3);
         dhDAO.luuDonhang(dh);
         return true;
     }
    /**
     *Rút trích danh sách tất cả đơn hàng theo mã người dùng
     *
     */
    public List dsDonhangAll(String manguoidung) {
        return dhDAO.dsDonhangAll(manguoidung);
    }
    /**
     *Rút trích danh sách tất cả đơn hàng theo mã người dùng và mà tình trạng
     *
     */
    public List dsDonhangAll(String maNguoiDung,int maTinhTrang) {
        return dhDAO.dsDonhangAll(maNguoiDung, maTinhTrang);
    }
    /**
     *Rút trích danh sách tất cả gian hàng
     *<br> Có phân trang
     */
    public List dsDonhangAll(int firstResult, int maxResults) throws Throwable {
        return dhDAO.dsSDonhangAll(firstResult, maxResults);
    }

    /**
     *Rút trích đơn hàng theo mã đơn hàng
     * @param madh  //mã đơn hàng cần lấy
     */
    public Donhang layDonhang(String maDh) {
        return dhDAO.layDonhang(maDh);
    }

    /**
     *Thêm/cập nhật đơn hàng
     * @param dh  //đơn hàng cần Thêm/cập nhật
     */
    public void luuDonhang(Donhang dh) {
        dhDAO.luuDonhang(dh);
    }
    /**
     *Thêm/cập nhật đơn hàng
     * @param dh  //đơn hàng cần Thêm/cập nhật
     */
    public void luuDonhang(String madh) {
        dhDAO.layDonhang(madh);
    }
    /**
     *Xóa đơn hàng theo đơn hàng
     * @param dh  //đơn hàng cần xóa
     */
    public void xoaDonhang(Donhang dh) {
        dhDAO.xoaDonhang(dh);
    }   
    /**
     *Xóa đơn hàng theo  mã đơn hàng
     * @param maDh  //đơn hàng cần xóa
     */
    public void xoaDonhang(String  maDh) {
        dhDAO.xoaDonhang(maDh);
    } 
    /**
     * @return the dhDAO
     */
    public DonhangDAO getDhDAO() {
        return dhDAO;
    }

    /**
     * @param dhDAO the dhDAO to set
     */
    public void setDhDAO(DonhangDAO dhDAO) {
        this.dhDAO = dhDAO;
    }
}
